package handler

import (
	"github.com/name5566/leaf/gate"
	"server/game/union"
	"server/msg/jsonData"
)

func NewUnion(args []interface{}) {
	m := args[0].(*jsonData.MsgNewUnionReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.NewUnion(m.UserId, m.UnionId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UnionList(args []interface{}) {
	m := args[0].(*jsonData.MsgUnionListReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UnionList(m.UserId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UnionInfo(args []interface{}) {
	m := args[0].(*jsonData.MsgUnionInfoReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UnionInfo(m.UserId, m.UnionId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UpUionLevel(args []interface{}) {
	m := args[0].(*jsonData.MsgUpUnionLevelReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UpUionLevel(m.UserId, m.UnionId, m.Step)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UpUserLevel(args []interface{}) {
	m := args[0].(*jsonData.MsgUpUnionUserLevelReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UpUserLevel(m.UserId, m.UnionId, m.Step)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func BaiFang(args []interface{}) {
	m := args[0].(*jsonData.MsgBaiFangReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.BaiFang(m.UserId, m.UnionId, m.NpcId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func JoinUnion(args []interface{}) {
	m := args[0].(*jsonData.MsgJoinUnionReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.JoinUnion(m.UserId, m.UnionId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UnionBuild(args []interface{}) {
	m := args[0].(*jsonData.MsgUnionBuildReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UnionBuild(m.UserId, m.BuildType)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UnionBuildList(args []interface{}) {
	m := args[0].(*jsonData.MsgUnionBuildListReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UnionBuildList(m.UserId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UnionShopInfo(args []interface{}) {
	m := args[0].(*jsonData.MsgUnionShopInfoReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UnionShopInfo(m.UserId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
func UnionShopBuy(args []interface{}) {
	m := args[0].(*jsonData.MsgUnionShopBuyReq)
	// 消息的发送者
	a := args[1].(gate.Agent)
	ret, err := union.UnionShopInfo(m.UserId)
	if err != nil {
		a.WriteMsg(&jsonData.MsgRes{Ret: 1, Message: err.Error(), RequestId: m.RequestId})
		return
	}
	a.WriteMsg(&jsonData.MsgRes{Ret: 0, Result: ret, RequestId: m.RequestId})
}
